package com.chat.util;

import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;

public class FileUtil {

    /***
     *
     * @param input // 压缩前的二进制数据
     */
    public static byte[] compress(byte[] input){


// 压缩后的二进制数据
        byte[] output = new byte[input.length];

// 创建Deflater对象
        Deflater deflater = new Deflater();

// 将待压缩的二进制数据放入Deflater对象中
        deflater.setInput(input);

// 将压缩后的二进制数据输出到output数组中
        int compressedDataLength = deflater.deflate(output);

// 关闭Deflater对象
        deflater.end();

        return output;
    }

    /**
     *
     * @param compressedData 待解压缩的二进制数据
     * @return
     */
    public static byte[] uncompress(byte[] compressedData) throws DataFormatException {


// 解压缩后的二进制数据
        byte[] output = new byte[compressedData.length];

// 创建Inflater对象
        Inflater inflater = new Inflater();

// 将待解压缩的二进制数据放入Inflater对象中
        inflater.setInput(compressedData);


// 将解压缩后的二进制数据输出到output数组中
        int decompressedDataLength = inflater.inflate(output);

// 关闭
        inflater.end();
        return output;
    }
}
